package cn.itcast.usermanage.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import cn.itcast.usermanage.pojo.User;

public interface UserMapper {
	
	/**
	 * 根据id获取User信息
	 * @return
	 */
	public User queryUserById(@Param("id")Long id);

	/**
	 * 分页查询用户信息
	 * @param start
	 * @param pageSize
	 * @return
	 */
	public List<User> queryUsersByPage(@Param("start")Integer start, 
			@Param("size")Integer pageSize);
	
	/**
	 * 查询用户总数量，用于分页
	 * @return
	 */
	public Long queryTotal();
	
	/**
	 * 使用分页插件分页查询所有用户
	 * @return
	 */
	public List<User> queryUserAll();
	
	/**
	 * 新增用户
	 * @param user
	 * @return int:新增时受影响的条数
	 * @throws Exception
	 */
	public int addUser(User user) throws Exception;

	/**
	 * 修改用户
	 * @param user
	 * @return int:修改时受影响的条数
	 * @throws Exception
	 */
	public int updateUser(User user) throws Exception;

	/**
	 * 删除用户
	 * @param ids
	 * @return
	 */
	public int deleteUser(@Param("ids")String[] ids);
	

}
